Konzept 2019-03-14

Aktives statt rezeptives Lernen

Mantra jeder Hochschuldidaktik-Veranstaltung: Nachhaltig wird nur gelernt, wenn man die Dinge selbst tut.

Erfahrung: unbegleitetes Selbstlernen funktioniert nicht; erforderlich: Verantwortung übernehmen für das Lernen anderer. Dabei aber "didaktischer Kurzschluss" vermeiden: Jemand lernt nicht automatisch, nur weil ein anderer lehrt.

Also Anregungen schaffen zur Selbstaktivierung, zum selber lernen (Ggs.: beigebracht bekommen)

Primäre didaktische Methode: Direkte Instruktion

Adressaten

Lernende

  • die an sich den Anspruch haben, in einem Team (Projektleiter, Domainexperte, Mathematiker etc. ) die Lösung auch tatsächlich in Code umsetzen zu können
  • die die Theorie schon gehört und im Prinzip verstanden haben, und die Theorie auch eigenhändig umsetzen können wollen

Kontext KMU (Ggs.: Forschungseinrichtung):

  • Lernziel "Umsetzen können" ist ein ganz anderes Lernziel als z.B. in einem Universitätsstudiengang, in dem es eher darum geht, die theoretischen Grundlagen in der Tiefe zu verstehen
  • ein Kurs für Studierende an einer University of Applied Science: Anwendung von existierenden Techniken - und dazu auch Kenntnis incl. hands-on Erfahrung.

Lehrziel des Dozenten: Die Leute sollen in Python mit Pandas und Scikit-learn Machine Learning (ML) mit Standard-Algorithmen (keine NN) selbst programmieren können ... ein Training, Praktikum, bei dem gehobelt wird; Theorie nur minimal am Rande und soweit unbedingt erforderlich; Ziel: ML Programmieren können ... Adressaten: Leute, die schon etwas programmieren können, und das jetzt mit Python machen wollen ... 1 Tag allgemeiner Python Vorkurs, ab Tag 2 dann ML.

Lernziel der TN: Sie wollen die nötigen Programmierfertigkeiten erwerben, um bei einer Kaggle-Competition im Mittelfeld mithalten können

Was wir insbesondere nicht lehren:

  • Domain-Expertise: diese muss mitgebracht werden
  • Mathematik, insbes. Statistik
  • Neuronale Netze, Tensorflow, Verarbeitung unstrukturierter Daten (Text, Bild)
  • Messreihenanalysen

Idee: Task-orientierter Unterricht

Primat der Tasks vor der Theorie:

  • "Unterricht" als eine Sequenz von einfachen (Programmier-) Aufgaben (traditionell: Übungsblättern)
  • Theorie
    • "just in time" nachgeliefert dann, wenn sie aktiv nachgefragt wird
    • nicht vorab "auf Vorrat".
    • nicht als Vorlesung, sondern in Form eines gut verständlichen Lexikons / Lehrbuches / Sammlung von youtube-Videos

Konzept soll geeignet für selbstgesteuertes Lernen (SGL) sein, aber insbes. auch in der Präsenzlehre skalierbar verwendbar sein, z.B. 100 Studierende in Kleinstgruppen (2-4 Personen) im großen Saal, eine Handvoll Tutoren geht herum und bietet ihre Hilfe an

Mikro-Tasks

  • unabhängig voneinander lösbar
  • dann zunehmend aufeinander aufbauend
  • es entsteht ein gerichteter Abhängigkeits-Graph von Tasks, aus denen dann zunehmend komplexere Tasks zusammengestellt werden ; Metapher Bauklötzchen, Bauteile

Transfer: verschiedene kleinere Projekte, in denen mehrere Bauklötzchen zu einem abgeschlossenen kleinen Werk zusammengesetzt werden: Ein Projekt soll also nicht durch Snippets aus Sorceforge, sondern durch Verwendung der vorgegebenen Tasks gelöst werden.

Metaphern: Sprachenlernen, Musik, Turnen

Pandas zu lernen zu lernen ist ähnlich dem Erlernen einer Sprache. (Man könnte auch die These vertreten, dass es sich beim Programmieren tatsächlich um genuines Sprachenlernen handelt, und entsprechend auch die gesamte Sprachlerndidaktik anwenden ist. Dafür soll an anderem Ort argumentiert werden, uns reicht hier die Ähnlichkeit zum Sprachenlernen). Daraus folgt vor allem:

  • Wer eine Sprache aber sprechen will, muss das Maul aufmachen. Wer programmieren lernen will, muss programmieren.

Pandas zu lernen ist ähnlich dem Erlernen eines Musikinstruments: man benötigt das Instrument als Werkzeug, um Musik überhaupt machen zu können; die Art der Musik hängt aber davon ab, wie gut man da Instrument schon beherrscht; beim Erst-Instrument in der Jugend parallele Entwicklung von Instrument und Gegenstand ... persönliche Erfahrung: Erlernen eines Zweit-Instruments geht sehr viel schneller voran, denn man muss nur noch die psychomotorischen Herausforderungen des neuen Werkzeugs in den Griff bekommen, das musikalische Verständnis ist schon da ... ähnlich dürfte es mit dem Umstieg von R auf Python (Statistik-Verständis ist schon da) oder dem Umstieg von Java auf Python (Programmier-Verständnis ist schon da) gehen.

Pandas lernen ist wie eine Turnübung. Prüfung ist wie Vorturnen: Da tritt nur an, wer weiß, dass er den Hüftaufschwung am Reck kann.

Was ist dem Sprechen, dem Musizieren, dem Turnen etc. gemeinsam? Dass nicht Wissen angefragt wird, sondern ein Können vorgeführt werden muss.

  • nicht: "Ich weiß, wie man Klavier spielt: Man drückt zum richtigen Zeitpunkt die richtige Taste." ... "Ich weiß, wie ein Hüftaufschwung ..."
  • sondern: Hic Rhodus, hic salta (also nicht primär auf Wissen, sondern auf Können fokussieren)

Prüfungsform: Musik-Aufführung, Vorturnen, Spachprüfung ... also Prüfungsformen, in denen man etwas vormachen muss, hier: eine Lösung programmieren muss.

Herausforderung: Wie verhindern wir paste & copy?

  • Wir geben größtenteils fertigen Code vor, der nur noch stellenweise ergänzt werden muss.
  • Prüfungsteil A, Bloom Lernzielniveau 1 & 2: In der Prüfung kommen genau die Code-Schnipsel aus dem Übungsbetrieb 'dran.
  • Prüfungsteil B: Transfer
  • Lösung muss mit den Tasks / Bausteinen aus der Veranstaltung erfolgen.

Weitere Ideen: Gamification?

https://kahoot.com/